<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<title>pagina</title>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link type="text/css" rel="stylesheet" href="" />
<?php
	/*
	 	CODICE UNIVOCO QUESTIONARIO  lunghezza 12
	 	
	 			0-7		chiave ente
	 		  	8-16	chiave progressivo 
	 		  	
	 		  	togliere multipli della base 36
	 		  	
	 		  	codifica 		conv(conv(hex(<codice_ente>),16,10)*<prog>,10,36)
	 		  	verifica        conv(<chiave_progressivo>,36,10) % conv(<chiave_ente>,16,10) == 0
	 		  	decodifica		<prog> = conv(<chiave_progressivo>,36,10) / conv(<chiave_ente>,16,10)
	 */
	var_dump($_REQUEST);
	$key="";
	$k = array();
	if(isset($_REQUEST['action'])){
		$action = $_REQUEST['action'];
		$codice_in = $_REQUEST['codice_in'];
		$codice_prog = $_REQUEST['codice_prog'];
		$codice_out = $_REQUEST['codice_out'];
		switch ($action) {
			case 'codifica':
				$key = codifica($codice_in,$codice_prog);
				break;
			case 'decodifica':
				$k = decodifica($codice_out);
				$codice_in = $k[0];
				$codice_prog = $k[1];
				break;
		}
	}
	
	function codifica($cod , $prog){
		$codex = bin2hex($cod);
		print("<p>$codex</p>");
		$progrex = hexdec($codex)*$prog;
		print("<p>$progrex</p>");
		$key=base_convert($codex,16,36).base_convert($progrex,10,36);
		return strtoupper($key);
	}
	
	function decodifica($key){
		// TODO ERRORI LUNGHEZZA
		// TODO pad len 16
		$codex = substr($key,0,8);
		$n = base_convert($codex,36,10);
		print("<p>$codex</p>");
		$progrex =  substr($key,8,8);
		$p = base_convert($progrex,36,10);
		print("<p>$progrex</p>");
		return array(strtoupper(dechex($n)),$p/$n);	
	}
	
?>
</head>
<body>
	<h2>Calcolo codice ente</h2>
	<form  action="#" method="post">
		<label>codice in</label><input type="text" name="codice_in" id="codice_in" maxlength="10"  value="<?php print $k[0]?>"></input>
		<input type="text" id="codice_prog" name="codice_prog"  maxlength="2"  value="<?php print $k[1]?>" ></input>
		<label>codice out</label><input type="text" name ="codice_out" id="codice_out" maxlength="10" value="<?php print $key?>"></input>
		<input type="submit" name="action" value="codifica"></input>
		<input type="submit" name="action" value="decodifica"></input>
	</form>
</body>
</html>